-
Notifications
You must be signed in to change notification settings - Fork 328
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Trapping, extended to (a) enstrophy, and (b) local trapping #536
Conversation
…s into single file (and objective function), fixed some test errors, fixed issue where trapping algorithm Qijk piece was slightly off (and reran notebooks).
…lambda machine. Rerunning the 9 mode von karman example is too intensive for my computer.
…tial fix for Von Karman street
…so cleaned up the linting in trapping_sr3.py
…sindy into trapping_extended
…sindy into trapping_extended
…aping format needs to be fortran style. Added some of the examples from the dysts database, some of which dont seem to quite be behaving -- need to look closer at these. Importantly, added functionality in the code and in the example for including a bias (constant) term in the dynamical equations.
Also: move m0 initialization to __init__, fix _objective calc
Trapping extended jake
Merge changes from master into trapping_extended
May need to adjust correct way of testing inequality constraints
In Trapping algorithm, gradient (non-accelerated) descent was stepping from the previous point. However, this is incorrect, and as the problem is nonconvex, was causing a lack of convergence.
1. test that constraint implies PQW symmetry 2. test that PQW symmetry implies constraint 3. test that constraint matrix is full rank 4. add test for just the mixed double constraints Currently, not all double constraints are being created, meaning that 2 is passing, but 1 and 3 are not. 4 is passing but for the rank test
…me code for computing PW now. Removed the option for accelerated prox grad descent since this seemed not to work very well anyways. Updated the trapping paper examples script. Everything now looks good except the constraint matrix is not quite right for the MHD case.
…solves the constraint breaking in the MHD case. The problem with the MHD case is the matrix is super ill conditioned.
Currently the enstrophy seems wrong. Global trapping with enstrophy seems off, and local trapping with enstrophy gives nonnegative As
Also gitignore some pdf outputs
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #536 +/- ##
==========================================
+ Coverage 94.05% 94.31% +0.26%
==========================================
Files 38 37 -1
Lines 4157 4101 -56
==========================================
- Hits 3910 3868 -42
+ Misses 247 233 -14 ☔ View full report in Codecov by Sentry. |
I'm going to go ahead and merge this since others are starting to PR changes to master. Fixing the last bit can be done against the master branch, and we don't need to keep extra branches around. |
Here are the changes that Aland and Mai (and to a lesser extent, I) have been working on to expand trapping SINDy to local stability and, in parallel, to trapping enstrophy rather than just energy.
There are a few things to iron out, but I wanted to activate CI tests and merge conflict detection at this point
Remaining:
_update_coef_constraints
to be generic equality-constrained least squaresinstall requirements.txt if it existsskip experiment 8::math ..
and:math:
)Long term (after this PR, maybe not all)
MIOSR
constraints tofit
PolynomialLibrary
as an argument; infer data-dependent params infit()
.